// 图形类
class Shape {
    // 基础的绘图方法
    public void draw() {
        System.out.println("正在绘图");
    }
}

// 圆形类，继承自图形类
class Circle extends Shape {
    private double radius; // 圆形半径

    // 构造方法
    public Circle(double radius) {
        this.radius = radius;
    }

    // 调用父类的绘图方法
    @Override
    public void draw() {
        super.draw(); // 调用父类的绘图方法
        System.out.println("绘制圆形");
    }

    // 计算圆形面积的方法
    public double calculateArea() {
        return Math.PI * Math.pow(radius, 2);
    }

    // 属性的getter和setter方法
    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }
}

// 矩形类，继承自图形类
class Rectangle extends Shape {
    private double width;  // 矩形宽度
    private double height; // 矩形高度

    // 构造方法
    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    // 调用父类的绘图方法
    @Override
    public void draw() {
        super.draw(); // 调用父类的绘图方法
        System.out.println("绘制矩形");
    }

    // 计算矩形面积的方法
    public double calculateArea() {
        return width * height;
    }

    // 属性的getter和setter方法
    public double getWidth() {
        return width;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }


    public static void main(String[] args) {
        // 实例化圆形对象并调用绘图方法
        Circle circle = new Circle(5.0);
        circle.draw(); // 调用父类的绘图方法
        System.out.println("圆的面积: " + circle.calculateArea());

        // 实例化矩形对象并调用绘图方法
        Rectangle rectangle = new Rectangle(4.0, 6.0);
        rectangle.draw(); // 调用父类的绘图方法
        System.out.println("矩形的面积: " + rectangle.calculateArea());
    }
}